using System.Data.Common;

using Microsoft.Practices.EnterpriseLibrary.Data;
using Syncfusion.Windows.Forms.Grid;
using ctsu.CustomControls;
using ctsu.Shared;


namespace ctsu.BaseForms
{
	/// <summary>
	/// Summary description for IBLFormGridBase.
	/// </summary>
	public interface IBLFormGridBase
	{
		event BusinessLogicEvents.BLGridColumnValueChangedHandler GridColumnValueChanged;
		event BusinessLogicEvents.BLGridValidateErrorEventHandler GridValidateError;
		UserGrid ChildGrid { get; set; }
		bool Initialize();
		void SetEnabled(bool enable);
		bool GetData(int id);
		void New();
		bool Save(int currentPrimaryID, out string message, Database db, DbTransaction transaction);
		void Reset(EditMode formMode, int id);
		void BindGridColumn(FormGridColumnMeta fgcm, GridStyleInfo gsi);
	}
}
